#include <bits/stdc++.h>
using namespace std;
// 好斗的牛

struct Cow {
  int a, b;
};
Cow cow[10];
int mem[10];
int n;
int ans = INT_MAX;

// 计算这种排列的情况下，需要的牛棚数
int check() {
  int len = n;
  for (int i = 2; i <= n; i++) {
    // 这里需要注意，容易错
    int left = mem[i - 1];
    int right = mem[i];
    len += max(cow[left].b, cow[right].a);
  }
  return len;
}

int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> cow[i].a;
  }
  for (int i = 1; i <= n; i++) {
    cin >> cow[i].b;
  }
  for (int i = 1; i <= n; i++) {
    mem[i] = i;
  }
  // 利用STL中的next_permutation生成所有的排列
  do {
    ans = min(ans, check());
  } while (next_permutation(mem + 1, mem + n + 1));

  cout << ans;
  return 0;
}